@Override
public PerTripIterativeDestinationStrategy apply(FishState state) {
MersenneTwisterFast random = state.random;
NauticalMap map = state.getMap();
final DefaultBeamHillClimbing algorithm = new DefaultBeamHillClimbing(
alwaysCopyBest,
dynamicFriendshipNetwork,
stepSize.apply(random).intValue(),10);
return new PerTripIterativeDestinationStrategy(
new FavoriteDestinationStrategy(map, random), algorithm,
probability.apply(state));
}